package com.zzti.pay.service;

import java.util.Map;
public class MyBusiness implements OwnBusiness {

	/**支付宝
	 * 1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号；
	 * 2、判断total_amount是否确实为该订单的实际金额（即商户订单创建时的金额）；
	 * 3、校验通知中的seller_id（或者seller_email)
	 * 是否为out_trade_no这笔单据的对应的操作方（有的时候，一个商户可能有多个seller_id/seller_email）；
	 * 第三步不是必传的参数可以不验证 4、验证app_id是否为该商户本身
	 */
	@Override
	public boolean myBusiness(Object obj, String type) {
		boolean result = false;
		Map<String, String> paramsMap = (Map<String, String>) obj;

		if ("alipay".equals(type)) {
			// 这里注意获取的参数类型转换异常
			String out_trade_no = paramsMap.get("out_trade_no"); // 商户订单号
			// String trade_no = paramsMap.get("trade_no"); // 支付宝交易订单号
			String total_amount = paramsMap.get("total_amount"); // 支付宝交易总金额 单位元
		} else {
			String total_fee = paramsMap.get("total_fee"); // 订单总金额，单位为分
			String cash_fee = paramsMap.get("cash_fee"); // 现金支付金额
			String transaction_id = paramsMap.get("transaction_id"); // 微信支付订单号
			String out_trade_no = paramsMap.get("out_trade_no"); // 商户订单号
		}
		// 验证商户订单号是否存在 如果存在返回商户订单号
		// 验证交易金额是否正确

		// 验证通过后可以在这里写自己的业务逻辑（修改订单表等）
		result = true; // 为了测试
		System.out.println("在这里写自己的业务逻辑");
		return result;
	}

}
